package dbAccess;

import java.util.ArrayList;

import dto.DTOClass;
import dto.DTOContact;

/**
 * @author Jonathan Maret
 * Interface related to the DTOClass
 * @param <DTOClass>
 */
public interface ClassService<DTOClass> {

	/**
	 * @return all classes
	 */
	public ArrayList<DTOClass> getAllClass();
	/**
	 * @param name
	 * @return The class corresponding to the specified name
	 */
	public DTOClass getClassByName(String name);
	/**
	 * @param id
	 * @return The class corresponding to the specified id
	 */
	public DTOClass getClassById(int id);
	/**
	 * update a class and related relation
	 * @param clasS
	 * @param holder
	 * @param teacher
	 * @param student
	 */
	public void updateClass(DTOClass clasS, DTOContact holder,
			ArrayList<DTOContact> teacher, ArrayList<DTOContact> student);
	/**
	 * Remove a class
	 * @param clasS
	 */
	public void removeClass(DTOClass clasS);

}
